package com.book.common.api.entity;

import com.book.common.util.DatetimeUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Locale;

/**
 * Description：
 *
 * @Author： leo.xiong
 * @CreateDate： 2020/04/22 10:54
 * @Email： leo.xiong@suyun360.com
 * Version：1.0
 */
@Data
public class CurrentUser implements Serializable {
    private static final long serialVersionUID = -3923054882444990064L;
    /**
     * 不同的服务可能存在不同的主键规则
     */
    private String id;

    private Long longId;
    /**
     * 用户登录名
     */
    private String username;
    /**
     * 用户真名
     */
    private String name;
    /**
     * 登录工具
     */
    private String loginType;
    /**
     * 传入的token信息（当外部不通过http调用传入token时，可以设置token）
     */
    private String token;
    /**
     * 当前角色ID
     */
    private Long roleId;
    /**
     * 当前角色名称
     */
    private String roleName;
    /**
     * 公司ID
     */
    private Long companyId;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 机构Id
     */
    private Long deptId;
    /**
     * 机构名称
     */
    private String deptName;
    /**
     * Email
     */
    private String email;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 最后登录时间
     */
    @JsonFormat(pattern = DatetimeUtil.YYYY_MM_DD_HH_MM_SS_L_C, timezone = DatetimeUtil.CHINA_TIME_ZONE)
    private Date lastLoginTime;
    /**
     * 性别
     */
    private String sex;
    /**
     * 是否开启tab
     */
    private String isTab;
    /**
     * 主题
     */
    private String theme;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 详情描述
     */
    private String description;
    /**
     * 拥有的权限信息，根据当前角色获取
     */
    private List<String> permissionList = Lists.newArrayList();
}
